iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
佛心分享-IT 人自學之術

努力成為資料記者:以國際議題為例系列 第 11

Day 11: 一個不太好的視覺化案例: NBC 新聞“Graphic: Tracking Biden’s topics during the State of the Union” (修改篇)

  • 分享至 

  • xImage
  •  

       昨天分析了NBC新聞的資料視覺化案例後,今日想要試著依照我所列出的待改進之處來修正圖表。

目前我認為可以改成的圖形有幾種: 1. 改成柱狀圖(Bar Chart)。一般來說,柱狀圖很適合比較數值間的大小,且能夠明顯展現各個數值的差異。2. 使用帶有百分比的長條圖。3. 改進現有的氣泡圖,比如說應用Adobe Illustrator
或Figma來調整圓圈大小,讓圓圈大小的差異更為明顯;並且也可以增加色彩對比,將拜登在演說時最關心的議題的前三名用更為鮮明的顏色來增加可讀性。

接下來我們要用上述說的其中一種模式來調整圖形。這次我們想要使用的是Python。首先我們可以先來看一下數值:

https://ithelp.ithome.com.tw/upload/images/20240821/20151873wGuveEvtYs.png
圖1: NBC新聞中所做的資訊圖表,此圖表中包含了美國總統拜登在演講中所關心的議題。截圖引用自: https://www.nbcnews.com/politics/live-updates-tracking-bidens-topics-state-union-rcna69465

接著我們可以打開colab編輯器,並引入matplotlib套件。Matplotlib是Python的繪圖套件,對於顯示數據也很有幫助。我試著用Python來寫看看:

import matplotlib.pyplot as plt

topics = ['Economy', 'Infrastructure', 'Policing', 'Taxes', 'Democracy', 'Cancer', 
          'Politics', 'Prescription drugs', 'Covid-19', 'China', 'Guns', 'Health care', 
          'Russia/Ukraine', 'Opioids', 'National debt', 'Education', 'Climate', 'Immigration', 'Veterans']
minutes = [8.4, 5.3, 4.7, 4.1, 3.7, 3.1, 2.7, 2.7, 2.4, 2.1, 2.1, 1.9, 1.8, 1.7, 1.6, 1.6, 1.5, 1.2, 1.1]

plt.figure(figsize=(10, 8))
plt.barh(topics, minutes, color='skyblue')
plt.xlabel('Minutes')
plt.ylabel('Topics')
plt.title('Time Spent on Various Topics')

plt.show()

(上述語法有借用chatGPT來修正)

按下執行後,便可以得到以下內容:
https://ithelp.ithome.com.tw/upload/images/20240821/20151873CN82z97aGW.png
圖2: 利用Python繪圖的結果。

結果看起來還不錯,或許這樣的結果會有好一點了!


上一篇
Day 10: 一個不太好的視覺化案例: NBC 新聞“Graphic: Tracking Biden’s topics during the State of the Union” (檢視篇)
下一篇
Day 12: 有關Python 繪圖套件matplotlib
系列文
努力成為資料記者:以國際議題為例29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言